"""
ASGI config for mysite project.

It exposes the ASGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/5.1/howto/deployment/asgi/
"""
#这个文件是 ​Django 项目的 ASGI 入口配置，主要作用是为 Django 项目提供异步 Web 服务支持。以下是它的核心用途







# 导入Python标准库中的os模块，用于操作系统相关功能（如环境变量）
import os

# 从Django的ASGI模块导入获取ASGI应用的方法
from django.core.asgi import get_asgi_application

# 设置Django的默认环境变量（当DJANGO_SETTINGS_MODULE不存在时）
# 告诉Django使用哪个配置文件（这里指向项目中的settings.py）
# 'mysite.settings' 表示项目包名mysite下的settings模块
#Django 需要知道项目的配置（数据库、中间件、路由等）才能正常运行。
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')

# 创建ASGI应用实例
# 这个application对象是ASGI服务器（如Daphne、Uvicorn）的入口点
# Django通过这个对象处理异步Web请求
#为什么需要：这是 ASGI 服务器（如 Daphne、Uvicorn）与 Django 项目通信的桥梁。
#ASGI（Asynchronous Server Gateway Interface）是 WSGI 的异步升级版。
# 处理 WebSocket 协议（实时通信，如聊天室）
# 处理 HTTP/2、HTTP/3
# 支持长轮询（Long Polling）等异步场景
# 高并发下更高效（相比 WSGI）
application = get_asgi_application()
